%======================================================================
%----------------------------------------------------------------------
%               XX                           X
%                                            X
%               XX    XXX   XXX   XXX   XXX  X  XXXX
%                X   X   X X   X X   X X   X X X
%                X   XXXXX XXXXX XXXXX X     X  XXX
%                X   X     X     X     X   X X     X
%               XXX   XXX   XXX   XXX   XXX  X XXXX
%----------------------------------------------------------------------
%               SPECIFICATION FOR COMMON IEEE STYLES
%----------------------------------------------------------------------
%               Gregory L. Plett, Istv\'{a}n Koll\'{a}r.
%======================================================================
\documentclass[%
    %draft,
    %submission,
    %compressed,
    a4paper,
    %12pt,
    10pt,
    final,
    %technote,
    %internal,
    %submitted,
    %inpress,
    %reprint,
    %titlepage,
    notitlepage,
    %anonymous,
    narroweqnarray,
    inline,
    oneside,
    %invited,
    %conference
    article
    ]{ieee}

%\documentclass[a4paper,12pt]{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{epstopdf}

\newcommand{\latexiie}{\LaTeX2{\Large$_\varepsilon$}}

%\usepackage{ieeetsp}    % if you want the "trans. sig. pro." style
%\usepackage{ieeetc}    % if you want the "trans. comp." style
%\usepackage{ieeeimtc}    % if you want the IMTC conference style

% Use the `endfloat' package to move figures and tables to the end
% of the paper. Useful for `submission' mode.
%\usepackage {endfloat}

% Use the `times' package to use Helvetica and Times-Roman fonts
% instead of the standard Computer Modern fonts. Useful for the
% IEEE Computer Society transactions.
%\usepackage{times}
% (Note: If you have the commercial package `mathtime,' (from
% y&y (http://www.yandy.com), it is much better, but the `times'
% package works too). So, if you have it...
%\usepackage {mathtime}

% for any plug-in code... insert it here. For example, the CDC style...
%\usepackage{ieeecdc}

\begin{document}

%----------------------------------------------------------------------
% Title Information, Abstract and Keywords
%----------------------------------------------------------------------
\title[]{
  Trabajo Pr\'actico Especial preliminar 3: Redes Neuronales}

% format author this way for journal articles.
% MAKE SURE THERE ARE NO SPACES BEFORE A \member OR \authorinfo
% COMMAND (this also means `don't break the line before these
% commands).
%\author[PLETT AND KOLL\'{A}R]{Gregory L. Plett\member{Student
%       Member},\authorinfo{G.\,L.\,Plett is with the Department of Electrical
%       Engineering, Stanford University, Stanford, CA 94305--9510.
%       Phone: $+$1\,650\,723--4769, e-mail: glp@simoon.stanford.edu}%
%\and{}and Istv\'{a}n Koll\'{a}r\member{Fellow}\authorinfo{I.\
%       Koll\'{a}r is with the Department of Measurement and Information
%       Systems, Technical University of Budapest, 1521 Budapest, Hungary.
%       Phone: $+$\,36\,1\,463--1774, fax: +\,36\,1\,463--4112,
%       e-mail: kollar@mmt.bme.hu}
%}
\author{
     Alan Idesis,
\and Mar\'ia Eugenia Cura,
\and Tom\'as Alvarez
}

% format author this way for conference proceedings
%\author[PLETT AND KOLL\'{A}R]{%
        %Gregory L. Plett\member{Student Member},\authorinfo{%
        %Department of Electrical Engineering,\\
        %Stanford University, Stanford, CA 94305-9510.\\
        %Phone: $+$1\,650\,723-4769, email: glp@simoon.stanford.edu}%
%\and{}and%
%\and{}Istv\'{a}n Koll\'{a}r\member{Fellow}\authorinfo{%
        %Department of Measurement and Instrument Engineering,\\
        %Technical University of Budapest, 1521 Budapest, Hungary.\\
        %Phone: $+$\,36\,1\,463-1774, fax: +\,36\,1\,463-4112,
        %email: kollar@mmt.bme.hu}
%}

%\journal{IEEE Trans.\ on Instrum.\ Meas.}
%\titletext{, VOL.\ 46, NO.\ 6, DECEMBER\ 1997}
%\ieeecopyright{0018--9456/97\$10.00 \copyright\ 1997 IEEE}
%\lognumber{xxxxxxx}
%\pubitemident{S 0018--9456(97)09426--6}
%\loginfo{Manuscript received September 27, 1997.}
%\firstpage{1217}

%\confplacedate{Ottawa, Canada, May 19--21, 1997}

\maketitle

%\begin{keywords}
%Style file, \latexiie, Microsoft Word, IEEE Publications, Instrumentation
%and Measurement Technology Conference, IMTC.
%\end{keywords}

%----------------------------------------------------------------------
% SECTION I: Introduction
%----------------------------------------------------------------------
\section{Introducci\'on}

\PARstart En el presente trabajo se detalla la implementaci\'on de una red neuronal con aprendizaje supervisado que resuelve las funciones l\'ogicas de \textbf{Paridad} y \textbf{Simetr\'ia} para $N$ bits, con $2 \le N \le 5$. 
Para esto se ha implementado un perceptr\'on multicapa en \textit{MATLAB}.

En la secci\'on II se exponen las consideraciones que han sido tomadas en cuenta al dise\~nar y entrenar la red neuronal. En la secci\'on III se describen los resultados obtenidos como asi tambi\'en las conclusiones alcanzadas.

\section{Desarrollo}
Los par\'ametros que se han considerado son los siguientes:
\begin{itemize}
 \item $g(h)$: Funci\'on de activaci\'on.
 \item $\eta$: Constante de proporcionalidad del aprendizaje.
 \item \textit{N}: Candidad de entradas del perceptr\'on.
 \item $\beta$: La forma que tomar\'a la funci\'on de activaci\'on.
 \item $E$: Error cuadr\'atico medio: condici\'on de corte.
\end{itemize}

Las funciones de activaci\'on que se consideraron para el entrenamiento de la red son: dos no-lineales (tangencial hiperb\'olica y exponencial), una lineal y una escalonada:
\begin{itemize}
 \item $g(h)=tanh(\beta h)$
 \item $g(h)=(1+e^{(-2\beta h)})^{-1}$
 \item $g(h)=h$
 \item $g(h)=sign(h)$
 \end{itemize}

Como se comenta en la secci\'on anterior, se utiliza una configuraci\'on de $N$ entradas con una \'unica salida. 
Tanto la cantidad de capas ocultas como la cantidad de neuronas que posee cada una de estas capas se fue modificando para observar 
los resultados obtenidos con cada una de las distintas configuraciones. Los resultados se analizan en detalle en la pr\'oxima secci\'on. 
Se considera una arquitectura $[T_1-T_2-...-1]$ siendo $T_i$ la cantidad de neuronas en la $i-esima$ capa oculta y 1 la \'unica neurona 
en la capa de salida.

El algoritmo de backpropagation implementado se optimiz\'o con el $\eta$ adaptativo.

\section{Resultados y conclusiones}

\subsection{Funciones de activaci\'on lineal y escalonada}
\subsubsection*{\textbf{Funci\'on de activaci\'on escal\'on:}}

La funci\'on escal\'on no fue implementada ya que la misma no es diferenciable y en consecuencia no se puede derivar 
una regla de aprendizaje para el algoritmo backpropagation.

\subsubsection*{\textbf{Funci\'on de activaci\'on lineal:}}

Debido a que los problemas de paridad y simetr\'ia no son linealmente separablas, se implementa una red neuronal multicapa. 
Sin embargo, este tipo de red, en las capas intermedias realiza transformaciones a las entradas convirtiendo 
el problema en uno linealmente separable manteniendo una representaci\'on interna fiel. 
Al usar una funci\'on de activaci\'on lineal, las salidas de las capas intermedias nuevamente no son linealmente separables 
y es por esto que independientemente de la arquitectura que se utilice, estos problemas no pueden ser resueltos con una $g$ lineal. 
Por este motivo, esta $g$ no fue implementada ya que no hubiera aprendido el problema bajo ninguna condici\'on.

\subsection{Funciones de activaci\'on no lineales}
Los resultados expuestos en las tablas \ref{figTable1} y \ref{figTable2} se obtuvieron para $N=3$ con los siguientes parametros de entrada fijos:
\begin{itemize}
 \item $\beta$: 1.4
 \item $\Delta\eta$: $+0.001$ si $\Delta E<0$ / $-0.5\eta$ si $\Delta E>0$ / $0$ si $\Delta E=0$
 \item Tolerancia de $E$: 0.0025 / \texttt{MAX\_EPOCH}: 10000
\end{itemize}

La tolerancia del error que se tom\'o fue considerando que la medida del mismo es el error cuadr\'atico medio. 
Para los problemas l\'ogicos de bits, un error de $0.0025$ asegura que ninguno de los patrones de entrada de como resultado una salida incorrecta.

Las arquitecturas usadas fueron $[2-1]$, $[4-1]$, $[6-1]$ y $[8-1]$. Los resultados expuestos son un promedio redondeado de 5 corridas.

\subsection*{\textbf{Comentarios finales}}
  Analizando los resultados obtenidos, se llega a la conclusi\'on de que ambos problemas, simetr\'ia y paridad pudieron ser resueltos 
mediante el perceptr\'on multicapa implementando en este trabajo preeliminar.

A su vez, comparando los dos problemas y las arquitecturas probadas, se puede concluir que el problema de simetr\'ia se puede resolver 
con menor cantidad de neuronas que el problema de paridad.

Se puede concluir de los resultados, que en ambos problemas, manteniendo una arquitectura de una \'unica capa oculta, 
al aumentar la cantidad de neuronas en dicha capa hasta por lo menos 8, disminuye en promedio la cantidad de \'epocas necesarias 
para que la red aprenda el problema con el criterio de corte establecido. Esto se puede observar en las figuras \ref{fig1}, \ref{fig2}y  \ref{fig3}. 
Ocurre una excepci\'on cuando durante el entrenamiento la red queda atrapada en un m\'inimo local por una determinada cantidad de epocas como puede
verse para la arquitectura $[8-1]$ en la figura \ref{fig4}.
No obstante \'esto no garantiza de forma general que incrementar la cantidad de neuronas en la capa oculta, disminuya siempre la cantidad de \'epocas promedio para alcanzar el criterio de corte.

\clearpage
\onecolumn

\begin{table}
\centering
\begin{tabular}{l c c c c}
\hline
\hline
\textbf{Arq.} & \textbf{Tanh} & \textbf{Exp} \\
\hline
\hline
\textbf{$[2-1]$} & 308 ep. & 855 ep. \\
\textbf{$[6-1]$} & 208 ep. & 760 ep. \\
\textbf{$[4-1]$} & 238 ep. & 789 ep. \\
\textbf{$[8-1]$} & 191 ep. & 716 ep. \\
\end{tabular}
        \caption{Tabla de comparaci\'on para el problema de Simetr\'ia}
        \label{figTable1}
\end{table}

\begin{table}
\centering
\begin{tabular}{l c c c c}
\hline
\hline
\textbf{Arq.} & \textbf{Tanh} & \textbf{Exp} \\
\hline
\hline
\textbf{$[2-1]$} & \texttt{MAX\_EPOCH} con $E=0.00350$ & \texttt{MAX\_EPOCH} con $E=0.00357$  \\
\textbf{$[4-1]$} & 241 ep. & 2790 ep. \\
\textbf{$[6-1]$} & 201 ep. & 2116 ep. \\
\textbf{$[8-1]$} & 185 ep. & 1811 ep. \\
\end{tabular}
        \caption{Tabla de comparaci\'on para el problema de Paridad}
        \label{figTable2}
\end{table}

\begin{figure}
        \centering
    \includegraphics[width=16cm]{errorvsepoch-simetria-tanh.png}
        \caption{SIMETR\'IA - Funci\'on : Tangente Hiperb\'olica}
        \label{fig1}
\end{figure}
\begin{figure}
        \centering
    \includegraphics[width=10cm]{errorvsepoch-simetria-exp.png}
        \caption{SIMETR\'IA - Funci\'on : Exponencial}
        \label{fig2}
\end{figure}
\begin{figure}
        \centering
    \includegraphics[width=16cm]{errorvsepoch-paridad-tanh.png}
        \caption{PARIDAD - Funci\'on : Tangente Hiperb\'olica}
        \label{fig3}
\end{figure}
\begin{figure}
        \centering
    \includegraphics[width=10cm]{errorvsepoch-paridad-exp.png}
        \caption{PARIDAD - Funci\'on : Exponencial}
        \label{fig4}
\end{figure}

%\begin{thebibliography}{1}
%\bibitem [1]{1} http://www.mindjolt.com/games/fill-zone
%\end{thebibliography}

%----------------------------------------------------------------------
% SECTION
%----------------------------------------------------------------------

%\section{Resultados y conclusi\'on}

%Es interesante que observemos como algoritmos como el de L'Ecuyer, que generan n\'umeros pseudo-aleatorion, son de enorme utilidad para una amplia cantidad de estudio de modelos y an\'alisis. En este caso nos resulta clave para abordar el del sistema de propulsi\'on del USS Enterprise.

%\begin{thebibliography}{1}

%\bibitem{lamport}
%Leslie Lamport,
%\newblock {\em A Document Preparation System: {\LaTeX} User's Guide and
%  Reference Manual},
%\newblock Addison-Wesley, Reading, MA, 2nd edition, 1994.
%\newblock Be sure to get the updated version for \latexiie!

%\bibitem{goossens}
%Michel Goossens, Frank Mittelbach, and Alexander Samarin,
%\newblock {\em The {\LaTeX} Companion},
%\newblock Addison-Wesley, Reading, MA, 1994.

%\end{thebibliography}
%\begin{thebibliography}{2}
%\bibitem [1]{1} Apostol T.M., \textit{Volumen 1. Calculus. Segunda Edici\'on}, Reverté, 1982
%\bibitem [2]{2} Mathews J.H., Fink K.D., \textit{Métodos Numéricos con Matlab. Tercera Edici\'on}, Prentice Hall, 2003
%\end{thebibliography}

%----------------------------------------------------------------------

%\begin{biography}{Gregory L. Plett}
%(S'97) was born in Ottawa, ON, in 1968. He received the B.Eng.\ degree
%in computer systems engineering with high distinction from Carleton
%University, Ottawa, in 1990, and the M.S.\ degree in electrical
%engineering from Stanford University, CA, in 1992.  He is currently a
%Ph.D.\ candidate at Stanford University, where he is researching
%aspects of adaptive control under the supervision of Professor Bernard
%Widrow.
%\end{biography}


%\begin{biography}{Istv\'{a}n Koll\'{a}r}
%(M'87--SM'93--F'97) was born in Budapest, Hungary, in 1954. He graduated
%in electrical engineering from the Technical University of Budapest in
%1977 and in 1985 received the degree ``Candidate of Sciences'' (the
%equivalent of Ph.D.) from the Hungarian Academy of Sciences, and the
%degree dr.tech.\ from the Technical University of Budapest.
%\begin{thebibliography}{1}
%\bibitem [1]{1} Hertz J., Krogh A., Palmer R.G., \textit{Introduction to the theory of neural computation, Westview Press,1991}
%\bibitem [2]{2} Prueba Chi2: http://es.wikipedia.org/wiki/Prueba\_\%CF\%87\%C2\%B2
%\bibitem [3]{3} Prueba de Kolmog\'orov-Smirnov: http://es.wikipedia.org/wiki/Prueba\_de\_Kolmog\'orov-Smirnov
%\end{thebibliography}

%From September 1993 to June 1995, he was a Fulbright Scholar and
%visiting associate professor in the Department of Electrical
%Engineering, Stanford University. He is professor of electrical
%engineering, Department of Measurement and Information Systems,
%Technical University of Budapest. His research interests span the
%areas of digital and analog signal processing, measurement theory, and
%system identification. He has published about 50 scientific papers and
%is coauthor of the book \emph{Technology of Electrical Measurements},
%(L.\ Schnell, ed., Wiley, 1993). He authored the \emph{Frequency
%Domain System Identification Toolbox} for Matlab.
%\end{biography}

\end{document}